%ifdef CONFIG
{
  "RegData": {
    "RAX": "0x000000000000fbcc",
    "RBX": "0x00000000000089fb",
    "RCX": "0x0000000000000089",
    "RDX": "0x0000000000001800",
    "RSI": "0x000000000000b018",
    "RDI": "0x000000000000cbb0",
    "RBP": "0x00000000000054cb",
    "RSP": "0x0000000000002a54",
    "R8":  "0x000000000000b018",
    "R9":  "0x000000000000fb54",
    "R10": "0x0000000000003bfb",
    "R11": "0x000000000000753b",
    "R12": "0x0000000000008075",
    "R13": "0x0000000000000780",
    "R14": "0x0000000000005b07",
    "R15": "0x000000000001ab5b"
  }
}
%endif

lea r15, [rel .data]

mov eax,  0
mov ebx,  0
mov ecx,  0
mov edx,  0
mov esi,  0
mov edi,  0
mov ebp,  0
mov esp,  0
mov r8d,  0
mov r9d,  0
mov r10d, 0
mov r11d, 0
mov r12d, 0
mov r13d, 0
mov r14d, 0

; We only care about results here
mov ax,  word [r15 + 0]
mov bx,  word [r15 + 1]
mov cx,  word [r15 + 2]
mov dx,  word [r15 + 3]
mov si,  word [r15 + 4]
mov di,  word [r15 + 5]
mov bp,  word [r15 + 6]
mov sp,  word [r15 + 7]
mov r8w,  word [r15 + 4]
mov r9w,  word [r15 + 9]
mov r10w, word [r15 + 10]
mov r11w, word [r15 + 11]
mov r12w, word [r15 + 12]
mov r13w, word [r15 + 13]
mov r14w, word [r15 + 14]
mov r15w, word [r15 + 15]

hlt

; 256bytes of random data
align 16
.data:
dd 9042892,1422635032,1006326826,1527218293,582798507,2089999689,1417097080,1928248003,1074272523,1060557251,216792327,1674803041,279616115,441777196,715038375,407518795,2094733428,1884598841,447734476,947524986,1895254698,1672830628,673098253,1045402773,864978567,960531374,339530893,196139005,59435495,1870279404,383715765,1032584027,104924620,597456593,1212863084,1007986729,1224991550,344476351,1986036506,1085590199,634942853,956487659,142947491,462458211,1658827823,1125737874,344797902,1512619469,492430419,1669559173,534412544,145721129,420223845,1524873383,1920822367,709486397,1075005959,1656124734,1364988886,1391946848,151501156,1480187379,1752943752,112425311
